package testing_1_black_box;

import org.junit.Before;
import org.junit.FixMethodOrder;
import org.junit.Test;
import org.junit.runners.MethodSorters;
import org.uispec4j.*;
import org.uispec4j.interception.MainClassAdapter;

@FixMethodOrder(MethodSorters.NAME_ASCENDING)
public class TestCase1_Pulisci extends UISpecTestCase {
	
	private Window window;
	
	// valori di input
	String inputName = "nome";
	String inputUsername = "username";
	String inputPassword = "password";
	
	@Before
	public void setUp() throws Exception {
		
		setAdapter(new MainClassAdapter(applicazione_1_black_box.Frame.class, new String[0]));
		window = getMainWindow();
						
		// prima di eseguire ogni test, inserisco dei dati nelle caselle di testo
		window.getTextBox("setNome").setText(inputName);
		window.getTextBox("setPassword").setText(inputPassword);
		window.getTextBox("setUsername").setText(inputUsername);
	}

	@Test
	public void test1_pulisciNome() {
		
		// NOTA: button.click() e button.triggerClick() non funzionano
		Mouse.click(window.getButton("Pulisci"));
				
		String actual = window.getTextBox("setNome").getText();
		String expected = "";
		
		assertEquals(expected, actual);
	}
	
	@Test
	public void test2_pulisciPassword() {
		
		// NOTA: button.click() e button.triggerClick() non funzionano
		Mouse.click(window.getButton("Pulisci"));
				
		String actual = window.getTextBox("setPassword").getText();
		String expected = "";
		
		assertEquals(expected, actual);
	}
	
	@Test
	public void test3_pulisciUsername() {
		
		// NOTA: button.click() e button.triggerClick() non funzionano
		Mouse.click(window.getButton("Pulisci"));
		
		String actual = window.getTextBox("setUsername").getText();
		String expected = "";
		
		assertEquals(expected, actual);
	}

}
